package com.ia.aistream.model.operating.entity;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ia.aistream.common.type.JSONObjectTypeHandler;
import lombok.Getter;
import lombok.Setter;
import com.ia.aistream.common.annotation.Excel;
import com.ia.aistream.common.core.domain.AIBaseEntity;

import java.util.List;

/**
 * 表格对象 doc_content_table
 * 
 * @author aistream
 * @date 2021-01-25
 */
@Setter
@Getter
@TableName("doc_content_table")
public class DocContentTable extends AIBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** null */
//    @TableId(type = IdType.AUTO)
        private String id;
    
    /** 行的顺序 */
    @Excel(name = "行的顺序")
        private Integer stepNum;
    
    /** 行的类型0：内容、1：标题、2：空行 */
    @Excel(name = "行的类型0：内容、1：标题、2：空行")
        private Integer rowType;
    
    /** 原始操作内容 */
    @Excel(name = "原始操作内容")
        private String c1O;
    
    /** 样式加内容 */
    @Excel(name = "样式加内容")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject c1Style;
    
    /** 转义后操作数据 */
    @Excel(name = "转义后操作数据")
        private String c1C;
    
    /** 核对框 */
    @Excel(name = "核对框")
        private String c2O;
    
    /** 核对框样式 */
    @Excel(name = "核对框样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject c2Style;
    
    /** 原始标识数据 */
    @Excel(name = "原始标识数据")
        private String c3O;
    
    /** 标识文字 */
    @Excel(name = "标识文字")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject c3Style;
    
    /** 转义后标识 */
    @Excel(name = "转义后标识")
        private String c3C;
    
    /** 原始位置数据 */
    @Excel(name = "原始位置数据")
        private String c4O;
    
    /** 位置文字 */
    @Excel(name = "位置文字")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject c4Style;
    
    /** 转义后位置数据 */
    @Excel(name = "转义后位置数据")
        private String c4C;
    
    /** 原始备注信息 */
    @Excel(name = "原始备注信息")
        private String c5O;
    
    /** 备注文字 */
    @Excel(name = "备注文字")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject c5Style;
    
    /** 转义后文字内容 */
    @Excel(name = "转义后文字内容")
        private String c5C;
    
    /** 该行的列数 */
    @Excel(name = "该行的列数")
        private Long rowNum;
    
    /** 外键，表示所关联章节 */
    @Excel(name = "外键，表示所关联章节")
        private String docTitleId;

    @TableField(exist = false)
    private List<DocContentParagraph> tableParagraphList;
    
    /** 删除标志（0代表存在 2代表删除） */

    @Override
    public String toString() {
        return "{" + c1O + c2O + c3O +  c4O  + c5O + "}";
    }
}